/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Estados;

/**
 *
 * @author Alvaro
 */


public abstract class Estado {

    protected Estado padre;
    protected int heuristica;
    protected int coste; //el coste del nodo anterior a éste


    public Estado(){
        this.padre=null;
        this.coste=0;
    }
    public Estado(Estado padre){
        this.padre=padre;
        this.coste=0;
    }


    public Estado getPadre(){
        return this.padre;
    }
    public void setPadre(Estado e){
        this.padre = e;
    }

    public abstract boolean Iguales(Estado e1,Estado e2);

    public int getCoste(){
        return this.coste;
    }
    
    public void setCoste(int c){
        this.coste=c;
    }
    public abstract int CalculaHeuristica();
    public abstract int getHeuristica();
    public abstract int setHeuristica(int h);
}
